<?php

$config = [
    'id' => 'basic',
	
	// 指定该应用的根目录，系统预定义 @app 代表这个路径
    'basePath' => dirname(__DIR__),
	
	// 允许你用数组指定启动阶段yii\base\Application::bootstrap()需要初始化的组件(components)
	// 否则 components 中注册的组建仅当其第一次被使用时才会被初始化
	'bootstrap' => ['log'],
	
	// 将所有的请求路由交给指定的控制器方法来处理, 如下
	/*
	catchAll' => [
		'offlilne/notice',
		'param1' => 'value1',
		'param2' => 'value2'
	],
	*/

	// 允许你注册多个在其他地方使用的应用组件
    'components' => [
        'request' => [
            // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
            'cookieValidationKey' => 'weibo',
        ],
        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],
        'user' => [
            'identityClass' => 'app\models\User',
            'enableAutoLogin' => true,
        ],
        'errorHandler' => [
            'errorAction' => 'weibo/error',
        ],
        'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            // send all mails to a file by default. You have to set
            // 'useFileTransport' to false and configure a transport
            // for the mailer to send real emails.
            'useFileTransport' => true,
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'db' => require(__DIR__ . '/db.php'),
    ],
	
	// 指定一个控制器ID到任意控制器类
	/*
	'contrllerMap' => [
		'account' => 'app\controllers\UserController',
		'article' => [
			'class' => 'app\controllers\PostController',
			'enableCsrfValidation' => false,
		]
	]
	*/
	
	// 指定控制器类默认的命名空间，默认为app\controllers
	// controllerNamespace => 'app\controllers',
	
	// 指定应用展示给终端用户的语言，默认为 en 标识英文
	// language => "en",
	
	// 指定应用所包含的 模块(module)
	// modules => [],

	// 指定可以全局访问的参数，代替程序中硬编码的数字和字符
    'params' => require(__DIR__ . '/params.php'),
	
	// 指定应用代码的语言，默认为 'en-US' 标识英文（美国），如果应用不是英文请修改该属性
	// sourceLanguage => 'en-US',
	
	// 提供一种方式修改PHP运行环境中的默认时区，配置该属性本质上就是调用PHP函数 date_default_timezone_set()
	// timeZone => 'Asia/Shanghai',
	
	// 指定应用的版本，默认为'1.0'
	// version => '1.0',
	
	// 以下配置不经常用，实际根据需要进行修改
	
	// 指定应用使用的字符集，默认值为 'UTF-8'
 	// charset => 'UTF-8',
	
	// 指定当uri中无 r 参数时，默认使用的路由,  
	// 对于 yii\web\Application 网页应用，它的值为 site
	// 对于 yii\console\Application控制台应用，它的值为 help
	'defaultRoute' => 'weibo',
	
	// 用数组列表指定应用安装和使用的 扩展，默认使用@vendor/yiisoft/extensions.php文件返回的数组
	// extensions => [],
	
	// 指定渲染 视图 默认使用的布局名字，默认值为 'main' 对应布局路径下的 main.php 文件	
	// layout => "main.php"
	
	// 指定查找布局文件的路径，默认值为 视图路径 下的 layouts 子目录
	// 'layoutPath' => '',

	// 临时文件如日志文件、缓存文件等保存路径
	// runtimePath =>'',
	
	// 视图文件的保存路径，默认为$app/views
	// 'viewPath => '',
	
	// 默认值为带别名的 @app/views，可以配置它为一个目录或者路径 别名
	// vendorPath => 
	
	// 应用事件
	// on eventName之类
	
	
];

if (YII_ENV_DEV) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yii\debug\Module',
    ];

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
    ];
}

return $config;
